package com.kzy.demoadmin.web.service;


import com.github.pagehelper.PageInfo;
import com.kzy.demoadmin.web.entity.LoginParam;
import com.kzy.demoadmin.web.entity.User;
import com.kzy.demoadmin.web.entity.UserPageQuery;
import com.kzy.demoadmin.web.entity.VerifyCodeEntity;

/**
 * 用户管理
 */
public interface UserService {

    /**
     * 登录
     */
    User login(LoginParam loginParam);

    /**
     * 新增用户
     */
    void add(User user);

    /**
     * 根据id查询用户
     * @param integer
     * @return
     */
    User findById(Integer integer);

    /**
     * 生成验证码
     * @return
     */
    VerifyCodeEntity generateVerifyCode();

    /**
     * 分页查询用户列表
     * @param query
     * @return
     */
    PageInfo<User> getUserPage(UserPageQuery query);

    /**
     * 删除用户
     * @param id
     * @return
     */
    int deleteById(Integer id);

    /**
     * 修改用户
     * @param user
     */
    void edit(User user);
}
